#ifndef RS_FEC_H
#define RS_FEC_H

typedef struct RsFecS RsFecT;

#ifdef __cplusplus
extern "C"
{
#endif

int RsFec_Encode(RsFecT *hdr, uint8_t **data, uint8_t **fec_data);

int RsFec_Decode(RsFecT *hdr, uint8_t **data, uint8_t **fec_data, int lost_map[]);

RsFecT *RsFec_Create();

void RsFec_Init(RsFecT *hdr, int data_pkt_num, int fec_pkt_num, int data_len);

void RsFec_Destroy(RsFecT *hdr);

#ifdef __cplusplus
}
#endif

#endif
